package cn.mdmbct.douyin.common.proxy.annotations;

import java.lang.annotation.*;

/**
 * open API 拼接在url上的请求参数标记
 *
 * @author mdmbct  mdmbct@outlook.com
 * @date 2021/5/9 下午4:19
 * @modified mdmbct
 * @since 1.0
 */
@Documented
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
public @interface RequestParam {

    /**
     * 在url中的参数名 <br>
     * 如果未赋值 则使用方法参数本身的名字作为url中参数的参数名
     * 例如：
     * openId在url中参数名为"open_id" 则该属性赋值为"open_id"
     */
    String value() default "";

    /**
     * 如果某个url参数在方法参数列表中是一个类，则通过该属性告诉类中哪个方法可以获得对应的值 <br>
     * 例如：
     * url中参数名为count，但是方法中的类型为{@link cn.mdmbct.douyin.common.bean.PageCount}，则此时该属性赋值为"getValue"
     */
    String method() default "";

}
